I. Technical Field
The present invention generally relates to the field of data processing and to systems and methods for enabling the transfer of data. More particularly, and without limitation, the invention relates to systems and methods for transferring data between, for example, a server and a client.
II. Background Information
Various techniques and methods are known for transferring data from point-to-point. The data is typically represented by an electro-magnetic signal that is transmitted over a wired or wireless communication channel. The communication channel may be part of a network that connects the devices or points between which the data is transferred.
When transferring data point-to-point, several considerations must be addressed. One such consideration is the format of the data. Another consideration, particularly when the bandwidth of the communication channel is limited, is the size of the data to be transferred. The format of the data is a consideration because the data may need to be transferred according to a specific data format anticipated or required by the receiving device (e.g., a client device). The same is true if data also needs to be communicated back to the sending device (e.g., a server). In addition to ensuring data compatibility and/or interoperability, the size of the data should be minimized to permit maximum efficiency in the data transfer rate. Conventional techniques for addressing the size of the data include compression and coding.
In certain systems and applications, the amount of data to be transferred may be substantial. For example, in certain environments, large volumes of business, financial, and/or manufacturing data may need to be transferred on a real-time, daily or otherwise frequent basis. In addition to addressing the size of the data to be transferred, the format of the data is often a critical consideration because the devices communicating or sharing the transferred data may utilize disparate data formats and/or protocols.
In the area of manufacturing, a wide variety of devices may share and transfer data. Examples of such devices include enterprise resource planning (ERP) components and plant floor systems. In such environments, real-time visibility into manufacturing exceptions and performance issues is required, so that manufacturers and their suppliers better respond to changes, such as increases or decreases in demand. As a result, it may be necessary to transfer historical manufacturing data and/or other data types in an efficient, reliable, and flexible manner.
Conventional protocols and other techniques are known for transferring data, such as historical manufacturing data. One such example is the Lighthammer Illuminator Streaming to Applet (LISA) data protocol. The LISA protocol is a data protocol that can be used by, for instance, SAP xApp Manufacturing Integration and Intelligence (xMII), xMII Applets, and xMII Universal Data Servers (UDSs). The LISA protocol, as well as other know data protocols for transferring data, possesses a number of disadvantages, such as those described below.
Conventional data protocols fail to transfer data in an efficient manner. For example, with the LISA protocol, it is possible to transfer Null data, but the LISA protocol overloads a real value to do so. Compatibility, forwards and backwards, is also a common disadvantage with conventional data protocols, as many fail to include a mechanism to update or provide compatibility among versions. Other drawbacks with known data protocols include limited extensibility, such that message and column metadata can not be transferred without prior knowledge, and/or limited flexibility, which results in some fields being required by the protocol even though they do not apply to the data transferred.
Furthermore, with conventional data protocols, it is often necessary to know if a data set has an error before the data transfer begins in order to handle the error. This approach severely limits the error-handling ability of the data protocol, reducing the efficiency and accuracy of the data transfer.
In view of the foregoing, there is a need for improved systems and methods for transferring data. Among other things, there is a demand for a more robust data protocol to enable the efficient and reliable transfer of data. There is also a need for improved systems and methods that overcome other disadvantages with conventional data protocols, such as extensibility and forward/backward compatibility.